package com.stars.entity.dto.company;

import com.stars.common.base.dto.BaseTreeDto;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.*;


/**
 * @Title: 实体
 * @author dj
 * @date 2019-09-30 13:00:05
 * @version V1.0
 *
 */
@Data
public class CompanyDTO extends BaseTreeDto {

	/**公司名称*/
	private String companyName;
	/**公司代码*/
	private String companyCode;
	/**公司logo*/
	private String logo;
	/**公司类型*/
	private Integer companyType;
	/**描述*/
	private String info;
	/**公司英文名称*/
	private String companyEn;
	/**孩子节点*/
	private List<CompanyDTO> children = new ArrayList<>();

	public static List<CompanyDTO> getTree(List<CompanyDTO> list) {
		//首先将list转map映射
		Map<String,CompanyDTO> map = new HashMap<>();
		//循环生成Tree
		for (CompanyDTO dto: list){
			map.put(dto.getId(),dto);
			if(dto.getLayer() < 2){
				dto.setExpanded(true);
			}
			//如果存在父节点，那么获取父节点，并将自己加入父节点
			if(StringUtils.isNoneEmpty(dto.getPid())){
				map.get(dto.getPid()).getChildren().add(dto);
			}
		}
		List<CompanyDTO> CompanyDTOArrayList = new ArrayList<>();
		CompanyDTOArrayList.add(map.get("root"));
		return CompanyDTOArrayList;
	}

}